get_page_type() must clean up writable pagetable state
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Mon, 14 Nov 2005 18:55:40 +0000 (19:55 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Mon, 14 Nov 2005 18:55:40 +0000 (19:55 +0100)
commitfa961865760b70859952aa66e30b2d6dd794d3a1
tree91f12f21948c06ac142e9ee2e3a221af08322e95
parent3c5d699996aa04fafd7b48c067c40c43b6f9c616
get_page_type() must clean up writable pagetable state
before failing, otherwise functions like set_gdt() can
spuriously fail because a page appears to be writable
despite there being pending changes to mapping of that
page in ptwr state.

This should fix the reported cases of crashes in
vcpu_prepare in xenlinux.

Signed-off-by: Keir Fraser <keir@xensource.com>
xen/arch/x86/mm.c